/**
 * @file
 *           base64.h
 * @brief
 *          <fillin>purpose
 *
 * @par Author (last changes):
 *          - Herea Adrian
 *          
 * @par Description:
 *
 *
 * @par Module-History:
 * @verbatim
 *  Date        Author				Reason
 *  15.01.2010  Herea Adrian         Initial creation
 *
 * @endverbatim
 *
 * @par Copyright Notice:
 * @verbatim
 * Copyright (C) 2010
 * All Rights Reserved.
 * The reproduction, transmission or use of this document or its contents is
 * not permitted without express written authority.
 * Offenders will be liable for damages. All rights, including rights created
 * by patent grant or registration of a utility model or design, are reserved.
 **/
#ifndef __PROTOCOL_H
#define __PROTOCOL_H
#pragma once

#include <string>

#include "stdafx.h"
#include "Command.h"

using namespace std;

class Protocol
{
public:
  static const string
  protocol(Command command);
  static Command*
  command(string protocol);
  ~Protocol(void);
private:
  static string
  attribute(string& protocol, string attr);
  static bool
  nodeValue(string& protocol, string sName, string sValue);
  static string
  popChild(string & protocol);
  static string
  nodeValue(string & protocol);
  static string
  nodeAtribute(string & protocol);
  Protocol(void);
};
#endif
